package pers.mine.service.inter;

import pers.mine.po.Member;
import pers.mine.po.MemberExample;
import pers.mine.vo.PageInfo;

/**
 * @author Mine
 * @since 2016年10月20日_下午8:20:41
 */
public interface MemberService {
	/**
	 * 用于完成会员的登录服务
	 * 
	 * @param id
	 *            账号
	 * @param pw
	 * @return 指定登录会员信息
	 */
	public Member login(int id, String pw);

	/**
	 * 用于完成会员的注册服务
	 * 
	 * @param one
	 *            注册信息
	 * @return 注册结果
	 */
	public boolean register(Member one);

	/**
	 * 验证指定id能否通过注册
	 * 
	 * @param id
	 *            注册id
	 * @return 验证结果
	 */
	public boolean validate(int id);

	/**
	 * 修改会员信息
	 * 
	 * @param one
	 *            信息
	 * @return 修改结果
	 */
	public boolean editMemberInfo(Member one);

	/**
	 * 修改指定id的Member状态
	 * 
	 * @param mid
	 *            顾客id
	 * @param mstate
	 *            顾客账户状态码
	 * @return 操作结果
	 */
	public boolean setMemberState(Integer mid, Integer mstate);

	/**
	 * 修改指定id的Member账户余额
	 * 
	 * @param mid
	 *            顾客id
	 * @param price
	 *            账户余额
	 * @return 操作结果
	 */
	public boolean setMemberBalance(int mid, double balance);

	/**
	 * 获取指定id顾客信息
	 * 
	 * @param mid
	 *            顾客id
	 * @return 顾客信息
	 */
	public Member getOneMemberByID(int mid);

	/**
	 * 按照筛选条件获取会员列表,筛选条件为null即是查询所有
	 * 
	 * @param example
	 *            筛选条件
	 * @return 筛选会员列表
	 */
	public PageInfo<Member> findPageByExample(MemberExample example);

}
